package com.platform.service;

import com.platform.domain.model.Role;

import java.util.List;

/**
* Role
*
* User: wangyang
* DateTime: 2012-10-08 16:11:58
*
*/
public interface RoleService {

    /**
     * 根据用户ID查询符合条件的角色集合
     *
     * @param userId 用户ID
     * @return 角色集合
     * @throws Exception
     */
    public List<Role> selectByUserId(String userId) throws Exception;

    /**
     * 根据用户ID查询除用户授权角色以外的角色集合
     *
     * @param userId 用户ID
     * @return 角色集合
     * @throws Exception
     */
    public List<Role> selectByNotUserId(String userId) throws Exception;

    /**
    *
    * 根据主键查询Role对象
    *
    * @param roleId
    * @return Role对象
    */
    Role selectByPrimaryKey(String roleId) throws Exception;

    /**
    *
    * 根据查询条件查询符合条件的Role对象
    *
    * @param role
    * @return 符合条件的Role对象List
    */
    List<Role> select(Role role) throws Exception;

    /**
    *
    * 根据主键删除Role对象
    *
    * @param roleId
    * @return 影响条件数
    */
    int deleteByPrimaryKey(String roleId) throws Exception;

    /**
    *
    * 根据条件删除符合条件的Role对象
    *
    * @param role
    * @return 影响条件数
    */
    int delete(Role role) throws Exception;

    /**
    *
    * 插入Role对象
    *
    * @param roles
    * @return 影响条件数
    */
    int insert(Role roles) throws Exception;

    /**
    *
    * 更新Role对象
    *
    * @param role
    * @return 影响条件数
    */
    int update(Role role) throws Exception;

    /**
     *
     * 插入Role授权信息
     *
     * @param role
     * @return 影响条件数
     */
    int insertRoleFunctions(Role role) throws Exception;

}
